\chapter{\LaTeX{} -- przykłady}
\label{chap:latex-przyklady}

\todo{Tego NIE dodajemy do dokumentu ;) }

(Paweł Barszcz) W~tym rozdziale zamieszczam przykłady pomocne podczas pisania dokumentu w~\LaTeX{}. Przed oficjalnym oddaniem pierwszego sprawozdania usunę ten rozdział z~dokumentu. Jednakże plik źródłowy zostanie na repo: aby ,,odpalić'' ten rozdział będzie wystarczyło odkomentować linijkę
\begin{verbatim}
\include{mainMatter/latexPrzyklady}
\end{verbatim}
w~pliku {\tt dokumentacja.tex}.

\todo{Omówić tabelki (te lepsze czy te prostsze?)}

\section{Różne istotne informacje}
\begin{itemize}
	\item \underline{w nazwach plików nie dajemy podkreślników!} W~ogóle unikamy tego znaku. Dla naszego wspólnego dobra :P
	\item takie fajne pomarańczowe ramki z~komentarzami uzyskujemy za pomocą polecenia {\tt todo}; potem się je wywali lub zakomentuje lub przedefiniuje ich polecenie tak, aby się nie wyświetlały (i~po to są pomarańczowe, aby je było widać)
\end{itemize}

\section{Struktura dokumentu}
W niniejszym dokumencie istnieje następująca hierarchia konspektu:
\begin{enumerate}
	\item chapter
	\item section
	\item subsection
	\item subsubsection
	\item paragraph (nie polecam)
	\item subparagraph (nie polecam)
\end{enumerate}

\section{Różne informacje dot. pisania tekstu}

\begin{itemize}
	\item jeśli chcemy, aby literka nie pozostała sama na końcu linii, to wstawiamy po niej tyldę (odpowiedni Ctrl+Shift+Spacja z~Worda),
	\item wielokropek uzyskujemy znacznikiem {\tt ldots}. O, tutaj w kodzie można zobaczyć, jak on wygląda $\rightarrow$ \ldots
	\item strzałka powyżej to {\tt rightarrow} objęte środowiskiem matematycznym (spojrzeć do kodu, to się zobaczy, o co biega); czemu w~matematycznym? bo strzałka pochodzi ze znaków wzorów matematycznych
\end{itemize}

\section{Odsyłacze itp.}
Jeśli w~jednym miejscu zastosuje się etykietę, to w~innym miejscu można ją wskazać. Wszystko numeruje się samo. Przykładowo to jest odsyłacz do początku tego rozdziału:~\ref{chap:latex-przyklady}, zaś to do rysunku~\ref{fig:bitmapa300} oraz do listingu~\ref{lst:example01}.

Odsyłacze do listingów nie pojawiają się na liście odsyłaczy ani w podpowiadaniu składni w Texmakerze.

W nazwach etykiet warto dodawać prefiks sugerujący, o~co chodzi. Np.~dobrą etykietą rysunku jest {\tt fig:strukturaLogiczna}. Tym bardziej, że wszystkie etykiety muszą być unikalne w~ramach całego dokumentu i~łatwo o kolizję dwóch etykiet wskazujących na ten sam kontekst, lecz inny rodzaj treści (rysunek, kod, sekcja itp.).

Aby odsyłacze działały, konieczne jest dwukrotne skompilowanie dokumentu. To samo dotyczy spisu treści.

\section{Listingi}

\subsection{Listing zapisany w treści dokumentu}
Przykład krótkiego kodu zamieszczonego bezpośrednio w~treści dokumentu:
\begin{lstlisting}[style=snippet]
(TYP_REGULY = 'P' and NUMER_DNIA_TYGODNIA is NULL and PARZYSTOSC_DNIA_TYGODNIA is NULL)
or
(TYP_REGULY = 'T' and NUMER_DNIA_TYGODNIA is NOT NULL) 
\end{lstlisting}
Warto zauważyć, że 

\subsection{Listingi z plików zewnętrznych}
W przypadku listingów z~plików koniecznie trzeba im ustawić najpierw kodowanie UTF-8! To ze względu na polskie znaki w~komentarzach. Listing~\ref{lst:example01} ma zdefiniowany język kodu, zaś listing~\ref{lst:example02} korzysta z języka PL/SQL ustawionego globalnie dla całego dokumentu.

\todo{trzeba zmienić ten globalny PL/SQL\ldots}

\lstinputlisting[
	language=XSLT,
	label=lst:example01,
	caption={Tytuł krótkiego listingu},
]{listings/example01.xsl}

\lstinputlisting[
	language=SQL,
	label=lst:example02,
	caption={Tytuł długiego listingu},
]{listings/example02.sql}

\section{Rysunki}
W~tym dokumencie polecenie dołączania rysunków jest przedefiniowane. Działa ono w~ten sposób, że {\bf przeskalowuje rysunki, jeśli ich szerokość jest większa, niż dostępna szerokość linii} (uwaga na marginesy!).

Kolejność poleceń w~środowisku {\tt figure} jest istotna!

Rysunki domyślnie występują w~\LaTeX{}-u tam, gdzie chcą\ldots tak w~skrócie mówiąc. Można tym sterować, ale trzeba o~tym pamiętać, pisać specjalne rzeczy. Ale nie u~nas! Ogólnie w~\LaTeX{}-u jest antywordowo, tzn.~nie oczekujmy rysunku w~miejscu wstawienia. Jest to normalne zachowanie dla profesjonalnych książek itp. {\bf W~każdym razie\ldots My mamy dołączony pakiet, który zapewnia, że rysunki pojawiają się w~miarę możliwie blisko miejsca wstawienia oraz zawsze PO tym miejscu (nigdy przed).}

\section{Bitmapy, czyli masakra}
Bitmapy są złe, bo się brzydko skalują. Bardzo istotna jest zapisana w~pliku wartość DPI. Ta, która nie ma żadnego wpływu na liczbę pikseli.

Poniżej przykłady bitmap mających zapisane DPI na 50, 100 i~300. Jak widać, dla 50 i 100 DPI nie ma różnicy, ponieważ oba rysunki zostały przeskalowane do szerokości strony. W~przypadku 300 DPI uzyskano mniejszy rysunek.

\subsection{Bitmapa, 50 DPI}
Na rysunku~\ref{fig:bitmapa50} przedstawiona jest bitmapa mająca 50 DPI.

\begin{figure}
	\includegraphics{figures/example04-bitmap-50-DPI.png}
	\caption{Bitmapa 50 DPI}
	\label{fig:bitmapa50}
\end{figure}

\subsection{Bitmapa, 100 DPI}
Na rysunku~\ref{fig:bitmapa100} przedstawiona jest bitmapa mająca 100 DPI.

\begin{figure}
	\includegraphics{figures/example04-bitmap-100-DPI.png}
	\caption{Bitmapa 100 DPI}
	\label{fig:bitmapa100}
\end{figure}

\subsection{Bitmapa, 300 DPI}
Na rysunku~\ref{fig:bitmapa300} przedstawiona jest bitmapa mająca 300 DPI.

\begin{figure}
	\includegraphics{figures/example04-bitmap-300-DPI.png}
	\caption{Bitmapa 300 DPI}
	\label{fig:bitmapa300}
\end{figure}

\section{Rysunki wektorowe, czyli to, co jest cool i~w~ogóle}
Grafika wektorowa jest fajna, bo się skaluje i nie psuje. No!

\subsection{Grafika wektorowa z~PowerPointa}
Rysujemy coś w MS PowerPoint, a następnie zmieniamy rozmiar slajdu (wycinając na chwilę obrazek, aby go też PP nie przeskalował) i zapisujemy jako PDF. {\bf Zapisujemy BEZ informacji o dokumencie PDF} (odpowiedni checkbox przy zapisywaniu), bo to nie ma być samodzielny dokument z autorami, tytułem itp. Żeby nie popsuć danych PDF-a naszej dokumentacji.

Przykład na rysunku~\ref{fig:wektorPP}.

\begin{figure}
	\includegraphics{figures/example02-PowerPoint.pdf}
	\caption{Grafika wektorowa, PowerPoint}
	\label{fig:wektorPP}
\end{figure}

\subsection{Grafika wektorowa z~MS Visio}
Tutaj podobnie jak w~PowerPoint zmieniamy rozmiar strony i eksportujemy do PDF \underline{bez zapisywania informacji o~dokumencie}.

Przykład na rysunku~\ref{fig:wektorVisio}.

\begin{figure}
	\includegraphics{figures/example03-Visio.pdf}
	\caption{Grafika wektorowa, MS Visio}
	\label{fig:wektorVisio}
\end{figure}

\subsection{Grafika wektorowa, cokolwiek innego\ldots}
A tutaj dla zasady coś innego, niż dwa poprzednie. Jest to eksport do PDF z narzędzia Oracle.

\textbf{Uwaga! W~podglądzie Texmakera na tym rysunku brakuje napisów! Dopiero w Adobe je widać. Tak więc widok z~przeglądarki texmakerowej traktować z~ostrożnością.}

Przykład na rysunku~\ref{fig:wektorInne}.

\begin{figure}
	\includegraphics{figures/example01-other.pdf}
	\caption{Grafika wektorowa, inne (Oracle)}
	\label{fig:wektorInne}
\end{figure}
